/*
 * 项目名称：康丽医药物流监管系统（医药物流系统）
 * 类 名 称：SystemContext
 * 类 描述 ：业务系统上下文
 * 版    本：1.0.0
 * 
 * 创 建 人：xmcheng
 * 创建时间：2013/06/25
 * 
 * 版权声明：Copyright 2013 合肥康丽信息科技有限公司
 */
package com.youth.framework.core;

import java.util.Properties;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;


/**
 * 在一个WEB容器中运行的业务系统的运行时环境由该类负责维护，其中主要包含了：
 * 
 * 1：业务系统在平台注册过的模块列表
 * 2：业务系统在平台注册过的页面列表
 * 3：与当前请求关联的模块、页面以及帐套等信息
 * 4：运行业务系统必须的参数列表
 * 5：对WEB容器上下文的引用
 * 
 */
public final class SystemContext {
	

	private static ThreadLocal<HttpServletRequest> requests = new ThreadLocal<HttpServletRequest>();
	
	private static Properties enviroment = new Properties();
	
	private static ServletContext context = null;
	

	static void initEnviroment(Properties enviroment) {
		SystemContext.enviroment.putAll(enviroment);
	}
	
	static void replace(HttpServletRequest request){
		if (request != null) {
			requests.set(request);
		}else{
			requests.remove();
		}
	}
	


	public static String getProperty(String name) {
		return SystemContext.enviroment.getProperty(name);
	}

	public static HttpServletRequest getRequest(){
		return requests.get();
	}
	
	public static ServletContext getServletContext(){
		return context;
	}

}
